import { NgModule, Type } from '@angular/core';
import { SharedModule } from '@shared';
import { SimpleRoutingModule } from './simple-routing.module';
import { SimpleListComponent } from './list/list.component';
import { SimpleCodegenComponent } from './codegen/codegen.component';
import { SimpleCodegenEditComponent } from './codegen/edit/edit.component';
import { SimpleEditComponent } from './dynamic/list/edit/edit.component';
import { SimpleListEditComponent } from './list/edit/edit.component';
import { SimpleGeneralcListComponent } from './dynamic/list/general.list.component';
import { SimpleGeneralcModalComponent } from './dynamic/modal/general.modal.component';
import { SimpleListEditBaseComponent } from './list/edit/widget/base/base.component';
import { SimpleListEditFieldComponent } from './list/edit/widget/field/field.component';
import { SimpleListEditFormComponent } from './list/edit/widget/form/form.component';
import { FooterToolbarModule } from '@delon/abc/footer-toolbar';
import { SimpleSqlEditComponent } from './sql/edit/edit.component';
import { SimpleSqlComponent } from './sql/list.component';
import { SimpleActionEditComponent } from './action/edit/edit.component';

const COMPONENTS: Type<void>[] = [
  SimpleListEditComponent,
  SimpleListComponent,
  SimpleCodegenComponent,
  SimpleCodegenEditComponent,
  SimpleListEditBaseComponent,
  SimpleListEditFieldComponent,
  SimpleListEditFormComponent,
  SimpleSqlComponent,
];
const COMPONENTS_NOROUNT: Type<void>[] = [
  SimpleGeneralcListComponent,
  SimpleGeneralcModalComponent,
  SimpleEditComponent,
  SimpleSqlEditComponent,
  SimpleActionEditComponent,
];

@NgModule({
  imports: [SharedModule, SimpleRoutingModule, FooterToolbarModule],
  declarations: [...COMPONENTS, ...COMPONENTS_NOROUNT],
})
export class SimpleModule {}
